# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Mega Man X4 Template

game: Mega Man X4
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Mega Man X4: 0.1.3 # Version of the world required for this yaml to work as expected.

Mega Man X4:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  pickupsanity:
    # Whether collecting freestanding 1ups, HP and Weapon Energy capsules will grant a check.
    'false': 50
    'true': 0

  character:
    # Choose which character you'd like to play as during your seed
    # NOTE: If Zero, certain locations are excluded to prevent unbeatable seeds.
    x: 50
    zero: 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  damage_link:
    # Share damage with other players through DamageLink.
    'false': 50
    'true': 0

  energy_link:
    # Enable EnergyLink support. When enabled, the client can spend EnergyLink to restore current HP.
    'false': 50
    'true': 0

  death_link_amnesty:
    # Number of lives to restore after sending or receiving a DeathLink.
    # This prevents DeathLink from immediately causing repeated game overs.
    # Receiving the EX Tank will increase this by 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  energy_link_auto_heal:
    # Automatically spend EnergyLink to heal missing HP during gameplay.
    'false': 50
    'true': 0

  energy_link_cost_per_hp:
    # EnergyLink cost for each HP point restored by auto heal.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  infinite_nova_strike:
    # Lock Nova Strike / Giga Attack energy to full while in-game.
    # This writes 0x30 to the Nova Strike energy RAM value every client tick.
    'false': 50
    'true': 0

  enable_boss_item_requirements:
    # Whether to enable item requirements for bosses
    'false': 50
    'true': 0

  web_spider_requirement:
    # A list of items required in logic to beat Web Spider
    # for example: { Twin Slasher: 1, Heart Tank: 2 }
    {}

  cyber_peacock_requirement:
    # A list of items required in logic to beat Cyber Peacock
    # for example: { Soul Body: 1, Heart Tank: 2 }
    {}

  storm_owl_requirement:
    # A list of items required in logic to beat Storm Owl
    # for example: { Aiming Laser: 1, Heart Tank: 2 }
    {}

  magma_dragoon_requirement:
    # A list of items required in logic to beat Magma Dragoon
    # for example: { Double Cyclone: 1, Heart Tank: 2 }
    {}

  jet_stingray_requirement:
    # A list of items required in logic to beat Jet Stingray
    # for example: { Frost Tower: 1, Heart Tank: 2 }
    {}

  split_mushroom_requirement:
    # A list of items required in logic to beat Split Mushroom
    # for example: { Lightning Web: 1, Heart Tank: 2 }
    {}

  slash_beast_requirement:
    # A list of items required in logic to beat Slash Beast
    # for example: { Ground Hunter: 1, Heart Tank: 2 }
    {}

  frost_walrus_requirement:
    # A list of items required in logic to beat Frost Walrus
    # for example: { Rising Fire: 1, Heart Tank: 2 }
    {}

  double_iris_requirement:
    # A list of items required in logic to beat Double/Iris
    # for example: { Rising Fire: 1, Heart Tank: 4 }
    {}

  general_requirement:
    # A list of items required in logic to beat General
    # for example: { Soul Body: 1, Heart Tank: 4 }
    {}

  sigma_requirement:
    # A list of items required in logic to beat Sigma
    # Rising Fire is already required by default
    # for example: { Ground Hunter: 1, Soul Body: 1, Lightning Web: 1, Heart Tank: 8 }
    {}

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
